package com.xmy.cultivate.feign.teacher_api;

import com.xmy.cultivate.config.FeignConfig;
import com.xmy.cultivate.util.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@FeignClient(value = "teacher",configuration = FeignConfig.class)
public interface ITeacherApiFeignClient {

    @RequestMapping(value = "/api/recordCourse/arrivalRate", method = RequestMethod.GET)
    public Result arrivalRate(@RequestParam Map<String, String> reMap);

    @RequestMapping(value = "/api/recordCourse/tardinessRate", method = RequestMethod.GET)
    public Result tardinessRate(@RequestParam Map<String, String> reMap,
                                @RequestParam(value = "schoolIdList", defaultValue = "") String[] schoolIdList);

    @RequestMapping(value = "/api/studyPlan/getMinimumTaskProgressRate", method = RequestMethod.GET)
    public Result getMinimumTaskProgressRate(@RequestParam Map<String, String> reMap);

    @RequestMapping(value = "/api/math/getPassRadeList", method = RequestMethod.GET)
    public Result getPassRadeListMath(@RequestParam(value = "schoolId",required = false) String schoolId,
                                  @RequestParam(value = "yearPart",required = false) String yearPart,
                                  @RequestParam(value = "quarterNum",required = false) String quarterNum,
                                  @RequestParam(value = "type",required = false) String type,
                                  @RequestParam(value = "lessonNumStart",required = false,defaultValue = "0") String lessonNumStart,
                                  @RequestParam(value = "lessonNum",required = false) String lessonNum,
                                  @RequestParam(value = "yearClassId",required = false) String yearClassId,
                                  @RequestParam(value = "gradeSection",required = false) String gradeSection,
                                  @RequestParam(value = "classTypeId",required = false) String classTypeId,
                                  @RequestParam(value = "readingType",required = false,defaultValue = "1") String readingType,
                                  @RequestParam(value = "passDate",required = false) String passDate,
                                  @RequestParam(value = "passDateStart",required = false) String passDateStart,
                                  @RequestParam(value = "passDateEnd",required = false) String passDateEnd,
                                  @RequestParam(value = "subjectsId",required = false,defaultValue = "2") String subjectsId,
                                  @RequestParam(value = "rightNumStartDate",required = false) String rightNumStartDateGet,
                                  @RequestParam(value = "rightNumEndDate",required = false) String rightNumEndDateGet,
                                  @RequestParam(value = "trackId",required = false) String trackId,
                                  @RequestParam(value = "listState",required = false,defaultValue = "0") String listState,//0原来的列表；1安班级来列出
                                  @RequestParam(value = "radeType",required = false) String radeType,
                                  @RequestParam(value = "teacherId",required = false) String teacherId,
                                  @RequestParam(value = "name", required = false) String name,
                                  @RequestParam(value = "include",required = false) String include//0三次课以内，1三次课以外
    );

    @RequestMapping(value = "/api/physics/getPassRadeList", method = RequestMethod.GET)
    public Result getPassRadeListPhysics(@RequestParam(value = "schoolId",required = false) String schoolId,
                                  @RequestParam(value = "yearPart",required = false) String yearPart,
                                  @RequestParam(value = "quarterNum",required = false) String quarterNum,
                                  @RequestParam(value = "type",required = false) String type,
                                  @RequestParam(value = "lessonNumStart",required = false,defaultValue = "0") String lessonNumStart,
                                  @RequestParam(value = "lessonNum",required = false) String lessonNum,
                                  @RequestParam(value = "yearClassId",required = false) String yearClassId,
                                  @RequestParam(value = "gradeSection",required = false) String gradeSection,
                                  @RequestParam(value = "classTypeId",required = false) String classTypeId,
                                  @RequestParam(value = "readingType",required = false,defaultValue = "1") String readingType,
                                  @RequestParam(value = "passDate",required = false) String passDate,
                                  @RequestParam(value = "passDateStart",required = false) String passDateStart,
                                  @RequestParam(value = "passDateEnd",required = false) String passDateEnd,
                                  @RequestParam(value = "subjectsId",required = false,defaultValue = "3") String subjectsId,
                                  @RequestParam(value = "rightNumStartDate",required = false) String rightNumStartDateGet,
                                  @RequestParam(value = "rightNumEndDate",required = false) String rightNumEndDateGet,
                                  @RequestParam(value = "trackId",required = false) String trackId,
                                  @RequestParam(value = "listState",required = false,defaultValue = "0") String listState,//0原来的列表；1安班级来列出
                                  @RequestParam(value = "radeType",required = false) String radeType,
                                  @RequestParam(value = "teacherId",required = false) String teacherId,
                                  @RequestParam(value = "include",required = false) String include//0三次课以内，1三次课以外
    );

    @RequestMapping(value = "/api/renewClass/payFee", method = RequestMethod.GET)
    public Result payFee(@RequestParam Map<String,String> reMap);

    @RequestMapping(value = "/api/renewClass/continueFee", method = RequestMethod.GET)
    public Result continueFee(@RequestParam Map<String,String> reMap);
}
